草庐IT

Redis 和 twemproxy

全部标签

Redis:失败而不是驱逐?

有没有办法设置Redis,使其在内存不足时永远不会逐出数据并导致硬故障?我需要确保没有数据丢失;我没有将其用作永久数据存储机制,而是用于更多的用于大容量/高性能数据转换的临时数据存储机制。是否有替代的NoSQL数据存储可以在性能上接近,但在内存用完时利用磁盘读/写?这并不理想,但总比丢失数据好。我正在读取/写入/更新数百万个JSON文档(超过12万个并且还在增长)。 最佳答案 是的。首先确保将maxmemory指令(在conf文件中或使用CONFIGSET)设置为0以外的值。这将指示Redis使用该值是内存上限。接下来,将maxme

Node.js + Redis 多重查找

我是键值存储的新手,但我想学习。作为个人项目,我正在尝试使用Node.js和Redis构建一个库存管理系统。我们假设这是目前要使用的正确技术。如果我有一个简单的系统,需要跟踪特定位置的小部件数量,并能够按小部件或位置查找详细信息,我的理解是https://matt.sh/thinking-in-redis-part-one是存储单独的“自定义索引”以按位置和按项目查找。然后在node.js中保存一个新条目,我们将使用hmset创建条目,使用sadd将条目添加到2个索引:redis.hmset([key,'attr1',entry.attr1,'attr2',entry.attr2,'a

c# - Redis master/slave如何将master的内容重写为slave

我有两个配置为主/从的Redis数据库。我给奴隶添加了key。如何将slave的内容重写为master?当我将key添加到master时,只有我掌握了Redis。当我向slave添加key时,它仅在从属Redis中。如何从奴隶那里获得主人的key?反之亦然。 最佳答案 Redis的主/从复制严格来说是一种方式,从主到从。对主服务器的任何更新都会复制到下游并覆盖从服务器的内容。如果你的复制是runnnng,所有master的更新几乎会立即复制到slave。如果你使用可写的slaves,master和slave中都存在的键将被maste

redis - 原子 GETSET 操作有哪些用例?

我一直在阅读Redis的文档,theexampletheyhaveforGETSETisjust"HelloWorld".我想不出我可以使用GETSET的特定情况,但通过推送或插入列表不会更好地处理它。当旧值必须以原子方式检索但又不能存储时,有哪些具体用例? 最佳答案 该文档介绍了原子计数器获取和重置模式,但一般来说,此命令适用于您有一个(字符串)值要设置的任何情况,同时以原子方式获取先前的值。就个人而言,我还没有看到该命令被广泛使用,因此我无法证明其他用例。列表方法可以用于类似的效果,但是当你弹出一个元素时,你改变了列表本身-旧值

php - 如何在 heroku 上使用 redis 云进行 codeigniter session

我是heroku的新手。我只是在heroku上安装了rediscloud。我正在使用codeigniter开发我的应用程序,我想了解如何处理我在Google上搜索的redis服务器上的session,所以最后我得到了这个链接ACodeIgniterlibrarytointeractwithRedis这是否足以处理redis上的session或我必须做更多的事情请帮助我。如果这个github库很有用,那么我如何使用这个库进行session管理谢谢 最佳答案 伙计们这ACodeIgniterlibrarytointeractwithRe

c# - 我们如何从redis中删除表项?

我想要所有idbclients,它是什么脚本形式的rediscli? 最佳答案 看看http://redis.io/commands在那里你会找到所有的命令。在使用GUI之前对它们有一个良好的感觉是值得的。在http://redis.io/commands/keys中记录了选择具有模式的多个键。.因此,在您的情况下,只需在CLI中调用keysurn:idbclients:*(或者,如果您正在编写脚本,则使用您的客户端从脚本内部运行此命令库)。 关于c#-我们如何从redis中删除表项?,

node.js - 将每个用户的时间戳存储在已排序的 Redis 集合中

我有一些代码:添加ID:redis.zadd('onlineusers',time,id,function(err,response){//TODO});保存当前时间戳用户及其ID的正确方法是什么?通过KEY删除ID:db.zrem('onlineusers',data.id);此外,如何从按键排序的集合中获取多个值:1,2,3 最佳答案 IsacorrectwaytosavecurrenttimestampuserwithhimID?是的您可以使用multi获取多个值的分数。functiongetScores(setKey,val

python - 导入错误 : No module named redis and using geodis

我正在尝试从这里使用geodis:https://github.com/doat/geodis我按照他们网站和此处的说明下载了redis:ImportError:Nomodulenamedredis现在,当我按照geodis网站中的说明执行以下操作时,出现错误:没有名为redis的模块。dn525f4i:srchmi$./geodis.py-l40.90732,-74.07514Traceback(mostrecentcalllast):File"./geodis.py",line29,inimportredisImportError:Nomodulenamedredis但是当我执行以

node.js - 获取Redis数据库的ReadStream

在LevelUP中,使用readablestream迭代所有键和值非常简单.我怎样才能从Redis存储(可能是ReadStream)?也许我应该使用SCAN命令? 最佳答案 有redis-scanstreams正是这样做的模块。 关于node.js-获取Redis数据库的ReadStream,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/26868047/

redis - 为什么 StackExchange.Redis 在 transaction.ExecuteAsync() 中频繁抛出 "Unexpected response to EXEC: MultiBulk: 0"异常?

我尝试通过代码进行调试,它似乎主要在多个客户端试图修改事务中的同一个key时重现。重试事务通常可以消除错误,但是首先抛出异常有什么原因吗?我要执行的代码非常简单:varexistingValue=db.HashGetAsync(hashKey,field);vart=db.CreateTransaction();t.AddCondition(Condition.HashEqual(hashKey,field,existingValue));t.HashSetAsync(hashKey,field,newValue,flags:CommandFlags.FireAndForget);bo